package disenioPantallas.listarAnimales;

import gestores.GestorErrores;

import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.Date;

import javax.swing.AbstractAction;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerDateModel;
import javax.swing.BoxLayout;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

import disenioPantallas.elementos.EButton;
import disenioPantallas.elementos.ELabel;
import disenioPantallas.elementos.EPanel;
import disenioPantallas.elementos.ETextField;
import disenioPantallas.elementos.dialogGeneral;

import actionListeners.MascaraTipoIntListener;


public class DPesaje extends dialogGeneral {

	private final JPanel contentPanel = new JPanel();
	private JTextField txPeso;
	private Integer pesoAnimal;
	private GestorErrores gError= GestorErrores.getGestorErrores();
	private Date fecha;

	private JSpinner spinner;

	public DPesaje() {
		setTitle("Pesaje");
		setMinimumSize(new Dimension(400, 250));
		
		JPanel panelTitulo = new EPanel();
		panelTitulo.setOpaque(false);
		getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));

		
		getContentPane().add(panelTitulo);
		panelTitulo.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
		
		JLabel lblSeleccioneElAnimal = new ELabel("Animales: #99");
		lblSeleccioneElAnimal.setHorizontalAlignment(SwingConstants.CENTER);
		panelTitulo.add(lblSeleccioneElAnimal);
		
		lblSeleccioneElAnimal.setFont(new Font("Cambria", Font.PLAIN, 18));
		
		JPanel panelFecha = new EPanel();
		getContentPane().add(panelFecha);
		
		JLabel lblFecha = new ELabel("Fecha: ");
		panelFecha.add(lblFecha);
		
		Component horizontalStrut_1 = Box.createHorizontalStrut(20);
		panelFecha.add(horizontalStrut_1);
		
		spinner = new JSpinner();
		spinner.setFont(new Font("Cambria", Font.PLAIN, 16));
		spinner.setModel(new SpinnerDateModel(new Date(1357268400000L), new Date(-2208973392000L), null, Calendar.DAY_OF_YEAR));
		spinner.setPreferredSize(new Dimension(150, 35));
		spinner.setValue(new Date());

		panelFecha.add(spinner);

		
		JPanel panelPesaje = new EPanel();
		getContentPane().add(panelPesaje);
		panelPesaje.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
		
		JLabel lblIngreseElPeso = new ELabel("Ingrese el peso:");
		panelPesaje.add(lblIngreseElPeso);
		
		Component horizontalStrut = Box.createHorizontalStrut(20);
		panelPesaje.add(horizontalStrut);
		
		txPeso = new ETextField();
		panelPesaje.add(txPeso);
		txPeso.addKeyListener(new MascaraTipoIntListener());
		
		JPanel panelCancelar = new EPanel();
		getContentPane().add(panelCancelar);
		
		JButton btnAceptar = new EButton("Aceptar");
		panelCancelar.add(btnAceptar);
		btnAceptar.addActionListener(new AceptarAction());
		
		JButton btnCancelar = new EButton("Cancelar");
		panelCancelar.add(btnCancelar);
		btnCancelar.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent arg0) {
				cerrarDialog();
			}
		});

	}

	public Integer getPesoAnimal() {
		return pesoAnimal;
	}

	public void setPesoAnimal(Integer pesoAnimal) {
		this.pesoAnimal = pesoAnimal;
	}
	
	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	private class AceptarAction extends AbstractAction{

		
		public void actionPerformed(ActionEvent arg0) {
			if(!txPeso.getText().equals("") && Integer.parseInt(txPeso.getText())>0){
				setPesoAnimal(Integer.parseInt(txPeso.getText()));
				setFecha((Date) spinner.getValue());
				cerrarDialog();
			}
			else
				gError.mostrarCartelAdvertencia("Debe ingresar un peso");
				
		}
		
	}
	

}